/**
 *@Author 周贞荣
 *@Modify 周贞荣
 *@Date 2022/3/16 9:13
 *@Description 获取本地图片获取
 */
/**
 * 校验图片宽高
 *@param file 图片
 *@param wh 图片宽高
 */
export function valiteImgWh(file: File, wh: any) {
    const {width, height} = wh;
    const img = new Image();
    const urlCreate = window.URL || window.webkitURL;
    // 获取文件访问地址
    img.src = urlCreate.createObjectURL(file);
    return new Promise((resolve, reject) => {
        img.onload = () => {
            resolve(img.width <= width && img.height <= height);
        };
        img.onerror = () => (reject(false));
    });
}

/**
 * 获取本地文件大小
 * @param size 限制大小
 * @param file 选择文件
 */
export function checkFileSize(file: File, size: number) {
    return file.size < size * 1024 * 1024
}

/**
 * 获取本地图片
 * @param isMore 是否多选
 * @param accept 接收文件类型筛选
 * @param callback 回调选中图片
 */
export function getLocalFile(callback: Function, accept = '', isMore = false) {
    // 创建input标签
    const inputFile = document.createElement("input");
    inputFile.className = "appInputFile";
    inputFile.style.position = 'fixed';
    inputFile.style.top = '0';
    inputFile.style.left = '0';
    inputFile.style.width = '0';
    inputFile.style.height = '0';
    inputFile.style.opacity = '0';
    inputFile.style.overflow = 'hidden';
    // 设置标签为file类型
    inputFile.type = "file";
    // 设置接收类型
    inputFile.accept = accept;
    // 可多选
    if (isMore) {
        inputFile.multiple = true;
    }
    inputFile.onchange = (info: any) => {
        // 获取到资源移除input
        inputFile.remove();
        const files: File[] = info?.target?.files;
        if (isMore) {
            callback(files);
        } else {
            callback(files[0]);
        }
    };
    // 追加至应用
    document.body.appendChild(inputFile);
    // 触发标签事件
    inputFile.click();
}